bsp=$1
cpu=$2

toolchain=${cpu}gnu.debug
sys_name=${bsp}_vxWorks
ker_name=${bsp}_kernel
app_name=application_${bsp}
syslib=systemlib_${bsp}

####INCLUDE_CPLUS_IOSTREAMS \

cplus="\
	INCLUDE_CPLUS \
	INCLUDE_DEJAGNU \
	INCLUDE_CPLUS_LIBGCC \
	INCLUDE_CPLUS_IOSTREAMS \
	INCLUDE_CPLUS_STRING \
	INCLUDE_CPLUS_STRING_IO \
	INCLUDE_CPLUS_COMPLEX \
	INCLUDE_CPLUS_COMPLEX_IO \
#### The following include should be activated only after 
#### running the prepLibioTets scrip.
	INCLUDE_CPLUS_IOSTREAMS_TEST \
	INCLUDE_CPLUS_IOSTREAMS_PLOTFILE \
        INCLUDE_CPLUS_IOSTREAMS_SFILE \
        INCLUDE_CPLUS_IOSTREAMS_BUILTINBUF \
        INCLUDE_CPLUS_IOSTREAMS_EDITBUF \
        INCLUDE_CPLUS_IOSTREAMS_FSTREAM \
        INCLUDE_CPLUS_IOSTREAMS_INDSTREAM \
        INCLUDE_CPLUS_IOSTREAMS_IOEXTEND \
        INCLUDE_CPLUS_IOSTREAMS_IOFCLOSE \
        INCLUDE_CPLUS_IOSTREAMS_IOFEOF \
        INCLUDE_CPLUS_IOSTREAMS_IOFERROR \
        INCLUDE_CPLUS_IOSTREAMS_IOFGETPOS \
        INCLUDE_CPLUS_IOSTREAMS_IOFREAD \
        INCLUDE_CPLUS_IOSTREAMS_IOFSCANF \
        INCLUDE_CPLUS_IOSTREAMS_IOFSETPOS \
        INCLUDE_CPLUS_IOSTREAMS_IOGETDELIM \
        INCLUDE_CPLUS_IOSTREAMS_IOIGNORE \
        INCLUDE_CPLUS_IOSTREAMS_IOMANIP \
        INCLUDE_CPLUS_IOSTREAMS_IOPRIMS \
        INCLUDE_CPLUS_IOSTREAMS_IOPRINTF \
        INCLUDE_CPLUS_IOSTREAMS_IOSTRERROR \
        INCLUDE_CPLUS_IOSTREAMS_IOVFPRINTF \
        INCLUDE_CPLUS_IOSTREAMS_ISGETSB \
        INCLUDE_CPLUS_IOSTREAMS_OSFORM \
        INCLUDE_CPLUS_IOSTREAMS_PARSESTREAM \
        INCLUDE_CPLUS_IOSTREAMS_SBFORM \
        INCLUDE_CPLUS_IOSTREAMS_SBGETLINE \
        INCLUDE_CPLUS_IOSTREAMS_STDIOSTREAM \
        INCLUDE_CPLUS_IOSTREAMS_STREAM \
        INCLUDE_CPLUS_IOSTREAMS_STROPS \
        INCLUDE_CPLUS_IOSTREAMS_STRSTREAM
	INCLUDE_64BIT_LIBGCC "

ansi="\
	INCLUDE_ANSI_ATEXIT \
	INCLUDE_ANSI_CTYPE \
	INCLUDE_ANSI_MATH_ARC \
	INCLUDE_ANSI_MATH_CEIL \
	INCLUDE_ANSI_MATH_TRIG \
	INCLUDE_ANSI_MATH_HYP \
	INCLUDE_ANSI_MATH_EXP \
	INCLUDE_ANSI_MATH_FABS \
	INCLUDE_ANSI_MATH_FLOOR \
	INCLUDE_ANSI_MATH_FMOD \
	INCLUDE_ANSI_MATH_LOG \
	INCLUDE_ANSI_MATH_POW \
	INCLUDE_ANSI_MATH_SQRT \
	INCLUDE_ANSI_MATH_SUPPORT \
	INCLUDE_ANSI_STDIO_CLEARERR \
	INCLUDE_ANSI_STDIO_FCLOSE \
	INCLUDE_ANSI_STDIO_FDOPEN \
	INCLUDE_ANSI_STDIO_FEOF \
	INCLUDE_ANSI_STDIO_FERROR \
	INCLUDE_ANSI_STDIO_FFLUSH \
	INCLUDE_ANSI_STDIO_FGETC \
	INCLUDE_ANSI_STDIO_FGETPOS \
	INCLUDE_ANSI_STDIO_FGETS \
	INCLUDE_ANSI_STDIO_FILENO \
	INCLUDE_ANSI_STDIO_FLAGS \
	INCLUDE_ANSI_STDIO_FOPEN \
	INCLUDE_ANSI_STDIO_FPRINTF \
	INCLUDE_ANSI_STDIO_FPUTC \
	INCLUDE_ANSI_STDIO_FPUTS \
	INCLUDE_ANSI_STDIO_FREAD \
	INCLUDE_ANSI_STDIO_FREOPEN \
	INCLUDE_ANSI_STDIO_FSCANF \
	INCLUDE_ANSI_STDIO_FSEEK \
	INCLUDE_ANSI_STDIO_FSETPOS \
	INCLUDE_ANSI_STDIO_FTELL \
	INCLUDE_ANSI_STDIO_FVWRITE \
	INCLUDE_ANSI_STDIO_FWRITE \
	INCLUDE_ANSI_STDIO_GETC \
	INCLUDE_ANSI_STDIO_GETCHAR \
	INCLUDE_ANSI_STDIO_GETS \
	INCLUDE_ANSI_STDIO_MAKEBUF \
	INCLUDE_ANSI_STDIO_PERROR \
	INCLUDE_ANSI_STDIO_PUTC \
	INCLUDE_ANSI_STDIO_PUTCHAR \
	INCLUDE_ANSI_STDIO_PUTS \
	INCLUDE_ANSI_STDIO_REFILL \
	INCLUDE_ANSI_STDIO_REWIND \
	INCLUDE_ANSI_STDIO_RGET \
	INCLUDE_ANSI_STDIO_SCANF \
	INCLUDE_ANSI_STDIO_SETBUF \
	INCLUDE_ANSI_STDIO_SETVBUF \
	INCLUDE_ANSI_STDIO_STDIO \
	INCLUDE_ANSI_STDIO_TMPFILE \
	INCLUDE_ANSI_STDIO_TMPNAM \
	INCLUDE_ANSI_STDIO_UNGETC \
	INCLUDE_ANSI_STDIO_VFPRINTF \
	INCLUDE_ANSI_STDIO_WBUF \
	INCLUDE_ANSI_STDIO_WSETUP \
	INCLUDE_ANSI_STDLIB_ABORT \
	INCLUDE_ANSI_STDLIB_ABS \
	INCLUDE_ANSI_STDLIB_ATOF \
	INCLUDE_ANSI_STDLIB_ATOI \
	INCLUDE_ANSI_STDLIB_ATOL \
	INCLUDE_ANSI_STDLIB_BSEARCH \
	INCLUDE_ANSI_STDLIB_DIV \
	INCLUDE_ANSI_STDLIB_LABS \
	INCLUDE_ANSI_STDLIB_LDIV \
	INCLUDE_ANSI_STDLIB_MULTIBYTE \
	INCLUDE_ANSI_STDLIB_QSORT \
	INCLUDE_ANSI_STDLIB_RAND \
	INCLUDE_ANSI_STDLIB_STRTOD \
	INCLUDE_ANSI_STDLIB_STRTOL \
	INCLUDE_ANSI_STDLIB_STRTOUL \
	INCLUDE_ANSI_STDLIB_SYSTEM \
	INCLUDE_ANSI_STRING_MEMCHR \
	INCLUDE_ANSI_STRING_MEMCMP \
	INCLUDE_ANSI_STRING_MEMCPY \
	INCLUDE_ANSI_STRING_MEMMOVE \
	INCLUDE_ANSI_STRING_MEMSET \
	INCLUDE_ANSI_STRING_STRCAT \
	INCLUDE_ANSI_STRING_STRCHR \
	INCLUDE_ANSI_STRING_STRCMP \
	INCLUDE_ANSI_STRING_STRCOLL \
	INCLUDE_ANSI_STRING_STRCPY \
	INCLUDE_ANSI_STRING_STRCSPN \
	INCLUDE_ANSI_STRING_STRLEN \
	INCLUDE_ANSI_STRING_STRNCAT \
	INCLUDE_ANSI_STRING_STRNCMP \
	INCLUDE_ANSI_STRING_STRNCPY \
	INCLUDE_ANSI_STRING_STRPBRK \
	INCLUDE_ANSI_STRING_STRRCHR \
	INCLUDE_ANSI_STRING_STRSPN \
	INCLUDE_ANSI_STRING_STRSTR \
	INCLUDE_ANSI_STRING_STRTOK \
	INCLUDE_ANSI_STRING_STRXFRM \
	INCLUDE_ANSI_STRING_STRERROR \
	INCLUDE_ANSI_TIME_ASCTIME \
	INCLUDE_ANSI_TIME_CLOCK \
	INCLUDE_ANSI_TIME_CTIME \
	INCLUDE_ANSI_TIME_DIFFTIME \
	INCLUDE_ANSI_TIME_GMTIME \
	INCLUDE_ANSI_TIME_LOCTIME \
	INCLUDE_ANSI_TIME_LOCALTIME \
	INCLUDE_ANSI_TIME_MKTIME \
	INCLUDE_ANSI_TIME_STRFTIME \
	INCLUDE_ANSI_TIME_TIME \
	INCLUDE_OS_COPYRIGHT"
	

othersc="\
	INCLUDE_ANSI_STRING_KERNEL \
	INCLUDE_SEMAPHORES \
	INCLUDE_CPLUS_TASK_HEAP"


prjCreate -force -type system -prjDir ${sys_name} -buildtemplates $toolchain
prjCreate -force -domtype kernel -prjDir ${ker_name} -bsp $bsp -addto ${sys_name} 
prjCreate -force -domtype systemlib -prjDir ${syslib} -buildtemplates $toolchain -addto ${sys_name}

prj domComponentAdd -p ${ker_name} "$othersc"

cp /folk/samuel/target/${cpu}/00comp_dejagnu.cdf ${syslib}/

prjCreate -force -domtype application -prjDir ${app_name} -buildtemplates $toolchain -addto ${sys_name} 
prj domComponentAdd -p ${syslib} "$cplus $ansi"
###prj domComponentAdd -p ${syslib} "$ansi"
prj domAttributeSet -p ${app_name} "LNKG_PATH" ".:vxSysLib:vxKernel"


cd ${sys_name}

make

cd ../

